<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- qdoc-manual-DITA.qdoc -->
  <title>Creating DITA Maps | QDoc Manual 5.14.2</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.14</a></td><td ><a href="qdoc-index.html">QDoc Manual</a></td><td >Creating DITA Maps</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qdoc-index.html">Qt 5.14.2 Reference Documentation</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
  <link rel="prev" href="12-0-qdoc-commands-miscellaneous.html" />
  <link rel="next" href="21-0-qdoc-configuration.html" />
<p class="naviNextPrevious headerNavi">
<a class="prevPage" href="12-0-qdoc-commands-miscellaneous.html">Miscellaneous</a>
<span class="naviSeparator">  &#9702;  </span>
<a class="nextPage" href="21-0-qdoc-configuration.html">The QDoc Configuration File</a>
</p><p/>
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#what-is-a-dita-map">What is a DITA Map?</a></li>
<li class="level1"><a href="#ditamap">\ditamap</a></li>
<li class="level1"><a href="#topicref-endtopicref">\topicref \endtopicref</a></li>
<li class="level1"><a href="#mapref">\mapref</a></li>
<li class="level1"><a href="#an-example-ditamap-page">An Example Ditamap Page</a></li>
<li class="level1"><a href="#the-resulting-ditamap-file">The Resulting Ditamap File</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Creating DITA Maps</h1>
<span class="subtitle"></span>
<!-- $$$21-0-qdoc-creating-dita-maps.html-description -->
<div class="descr"> <a name="details"></a>
<p>You can create DITA map files using three new qdoc commands, the <a href="21-0-qdoc-creating-dita-maps.html#ditamap-command">ditamap</a> command, the <a href="21-0-qdoc-creating-dita-maps.html#topicref-command">topicref</a> command, and the <a href="21-0-qdoc-creating-dita-maps.html#mapref-command">mapref</a> command. How these DITA maps will be used automatically or manually by the documentation build process is still under consideration. This section will be updated as the decisions are made.</p>
<a name="what-is-a-dita-map"></a>
<h2 id="what-is-a-dita-map">What is a DITA Map?</h2>
<p>A complete description of DITA can be found at the <a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita">OASIS Darwin Information Typing Architecture</a> site.</p>
<p>An explanation of the DITA map is found at that site <a href="http://docs.oasis-open.org/dita/v1.2/os/spec/langref/map.html">here</a>.</p>
<a name="ditamap-command"></a><a name="ditamap"></a>
<h2 id="ditamap">\ditamap</h2>
<p>The \ditamap command is for creating a DITA map using qdoc commands. The \ditamap command is a kind of \page command that produces a <i>.ditamap</i> instead of a <i>.html</i> or <i>.xml</i> file. The file that is created actually contains XML text, but the <i>.ditamap</i> suffix is used to identify the file as containing a DITA MAP.</p>
<p>The argument is the name of the file to be created. In the following example, the file <i>creator.ditamap</i> is output:</p>
<pre class="cpp">

  \ditamap creator<span class="operator">.</span>ditamap

</pre>
<a name="topicref-command"></a><a name="topicref-endtopicref"></a>
<h2 id="topicref-endtopicref">\topicref \endtopicref</h2>
<p>The \topicref \endtopicref commands are for creating a topicref in the ditamap. The \endtopicref command is required because \topicref commands can be nested.</p>
<p>\topicref has two arguments. The first argument becomes the value of the <i>navtitle</i> attribute. Normally, you use the title of the topic being referenced. This title is often what will appear in a table of contents constructed from the ditamap.</p>
<p>The second argument is the name of the page being referenced. The second argument is actually optional, for example if you are using a topicref as a container for other topicrefs and maprefs. It is also optional if you want qdoc to find the page name for you by looking up the title in its internal data structure. It is recommended that you provide the second parameter if you know the page name.</p>
<pre class="cpp">

  \topicref {QML Module <span class="type"><a href="../qtquick/qtquick-module.html">QtQuick</a></span> <span class="number">2</span>} {qtquick<span class="operator">-</span><span class="number">2.xml</span>}
    \mapref {Creator Manual} {creator<span class="operator">-</span>manual<span class="operator">.</span>ditamap} \endmapref
    \topicref {QML Mouse Events} {qtquick2<span class="operator">-</span>mouseevents<span class="operator">.</span>xml} \endtopicref
    \topicref {Property Binding} {qtquick2<span class="operator">-</span>propertybinding<span class="operator">.</span>xml} \endtopicref
  \endtopicref

</pre>
<a name="mapref-command"></a><a name="mapref"></a>
<h2 id="mapref">\mapref</h2>
<p>The \mapref command is for creating a mapref in the ditamap. A mapref refers to another ditamap, which you want to include in your ditamap. Like the \topicref command, the \mapref command has two arguments, but for the \mapref command, both arguments are required. The arguments are essentially the same as described for \topicref, but for \mapref, the second command must be the name of another ditamap, i.e&#x2e; it must have the <i>.ditamap</i> suffix. You must provide the file name. qdoc can't look up the file name for you.</p>
<pre class="cpp">

  \mapref {Creator Manual} {creator<span class="operator">-</span>manual<span class="operator">.</span>ditamap} \endmapref

</pre>
<a name="an-example-ditamap-page"></a>
<h2 id="an-example-ditamap-page">An Example Ditamap Page</h2>
<p>The following example uses the three qdoc ditamap commands described above.</p>
<pre class="cpp">

  \ditamap creator<span class="operator">.</span>ditamap
  \title The DITA Map <span class="keyword">for</span> Creator

  \topicref {QML Module <span class="type"><a href="../qtquick/qtquick-module.html">QtQuick</a></span> <span class="number">1</span>}
    \topicref {QML Mouse Events} \endtopicref
    \topicref {Property Binding} \endtopicref
  \endtopicref

  \topicref {QML Module <span class="type"><a href="../qtquick/qtquick-module.html">QtQuick</a></span> <span class="number">2</span>} {qtquick<span class="operator">-</span><span class="number">2.xml</span>}
    \mapref {Creator Manual} {creator<span class="operator">-</span>manual<span class="operator">.</span>ditamap} \endmapref
    \topicref {QML Mouse Events} {qtquick2<span class="operator">-</span>mouseevents<span class="operator">.</span>xml} \endtopicref
    \topicref {Property Binding} {qtquick2<span class="operator">-</span>propertybinding<span class="operator">.</span>xml} \endtopicref
  \endtopicref

  \topicref {QML Module <span class="type"><a href="../qtquick/qtquick-module.html">QtQuick</a></span><span class="operator">.</span>Particles <span class="number">2</span>} {qtquick<span class="operator">-</span>particles<span class="operator">-</span><span class="number">2.xml</span>}
    \topicref {Age} {qml<span class="operator">-</span>qtquick<span class="operator">-</span>particles2<span class="operator">-</span>age<span class="operator">.</span>xml} \endtopicref
  \endtopicref

</pre>
<a name="the-resulting-ditamap-file"></a>
<h2 id="the-resulting-ditamap-file">The Resulting Ditamap File</h2>
<p>This is the <i>.ditamap</i> file you get when you input the qdoc ditamap page shown above. Note that you can write ditamap files directly in XML just as easily as you can write them using the qdoc commands. The choice is yours.</p>
<pre class="cpp">

  <span class="operator">&lt;</span><span class="operator">?</span>xml version<span class="operator">=</span><span class="string">&quot;1.0&quot;</span> encoding<span class="operator">=</span><span class="string">&quot;UTF-8&quot;</span><span class="operator">?</span><span class="operator">&gt;</span>
  <span class="operator">&lt;</span><span class="operator">!</span>DOCTYPE map PUBLIC <span class="string">&quot;-//OASIS//DTD DITA Map//EN&quot;</span> <span class="string">&quot;map.dtd&quot;</span><span class="operator">&gt;</span>
  <span class="operator">&lt;</span>map<span class="operator">&gt;</span>
    <span class="operator">&lt;</span>topicmeta<span class="operator">&gt;</span>
      <span class="operator">&lt;</span>shortdesc<span class="operator">&gt;</span>The DITA Map <span class="keyword">for</span> Creator<span class="operator">&lt;</span><span class="operator">/</span>shortdesc<span class="operator">&gt;</span>
    <span class="operator">&lt;</span><span class="operator">/</span>topicmeta<span class="operator">&gt;</span>
    <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;QML Module QtQuick 1&quot;</span> href<span class="operator">=</span><span class="string">&quot;qtquick-1.xml&quot;</span><span class="operator">&gt;</span>
      <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;QML Mouse Events&quot;</span> href<span class="operator">=</span><span class="string">&quot;qtquick2-mouseevents.xml&quot;</span><span class="operator">/</span><span class="operator">&gt;</span>
      <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;Property Binding&quot;</span> href<span class="operator">=</span><span class="string">&quot;qtquick2-propertybinding.xml&quot;</span><span class="operator">/</span><span class="operator">&gt;</span>
    <span class="operator">&lt;</span><span class="operator">/</span>topicref<span class="operator">&gt;</span>
    <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;QML Module QtQuick 2&quot;</span> href<span class="operator">=</span><span class="string">&quot;qtquick-2.xml&quot;</span><span class="operator">&gt;</span>
      <span class="operator">&lt;</span>mapref navtitle<span class="operator">=</span><span class="string">&quot;Creator Manual&quot;</span> href<span class="operator">=</span><span class="string">&quot;creator-manual.ditamap&quot;</span><span class="operator">/</span><span class="operator">&gt;</span>
      <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;QML Mouse Events&quot;</span> href<span class="operator">=</span><span class="string">&quot;qtquick2-mouseevents.xml&quot;</span><span class="operator">/</span><span class="operator">&gt;</span>
      <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;Property Binding&quot;</span> href<span class="operator">=</span><span class="string">&quot;qtquick2-propertybinding.xml&quot;</span><span class="operator">/</span><span class="operator">&gt;</span>
    <span class="operator">&lt;</span><span class="operator">/</span>topicref<span class="operator">&gt;</span>
    <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;QML Module QtQuick.Particles 2&quot;</span> href<span class="operator">=</span><span class="string">&quot;qtquick-particles-2.xml&quot;</span><span class="operator">&gt;</span>
      <span class="operator">&lt;</span>topicref navtitle<span class="operator">=</span><span class="string">&quot;Age&quot;</span> href<span class="operator">=</span><span class="string">&quot;qml-qtquick-particles2-age.xml&quot;</span><span class="operator">/</span><span class="operator">&gt;</span>
    <span class="operator">&lt;</span><span class="operator">/</span>topicref<span class="operator">&gt;</span>
  <span class="operator">&lt;</span><span class="operator">/</span>map<span class="operator">&gt;</span>

</pre>
</div>
<!-- @@@21-0-qdoc-creating-dita-maps.html -->
<p class="naviNextPrevious footerNavi">
<a class="prevPage" href="12-0-qdoc-commands-miscellaneous.html">Miscellaneous</a>
<span class="naviSeparator">  &#9702;  </span>
<a class="nextPage" href="21-0-qdoc-configuration.html">The QDoc Configuration File</a>
</p>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
